import { Controller, Get, Post, Body, Query } from '@nestjs/common';
import { UserService } from './user.service';
import { GetUserInfoDto, UpdateUserDto, UpdatePasswordDto, SwitchEmailDto } from './dto/user.dto'

@Controller('user')
export class UserController {
  constructor(private readonly userService: UserService) { }
  /**
   * ? 获取用户信息
   */
  @Get('info')
  async getUserInfo(@Query() userInfo: GetUserInfoDto) {
    const user_id = userInfo.user_id;
    return this.userService.getUserInfo(user_id);
  }

  /**
   * ? 更新用户信息
   */
  @Post('update')
  async updateUserInfo(@Body() updateUserInfo: UpdateUserDto) {
    const user_id = updateUserInfo.user_id;
    return this.userService.updateUserInfo(user_id, updateUserInfo);
  }

  /**
   * ? 删除用户
   */
  @Post('delete')
  async deleteUser(@Body() userInfo: GetUserInfoDto) {
    const user_id = userInfo.user_id;
    return this.userService.deleteUser(user_id);
  }

  /**
   * ? 更新用户密码
   */
  @Post('update-password')
  async updateUserPassword(@Body() updatePasswordDto: UpdatePasswordDto) {
    const user_id = updatePasswordDto.user_id;
    return this.userService.updateUserPassword(user_id, updatePasswordDto);
  }
}
